package com.jintian.smart.base.api.security.provider;

import com.jintian.smart.base.api.security.entity.LoginFailEntity;
import com.jintian.smart.kernel.core.domain.ResponseDTO;
import com.jintian.smart.kernel.core.enumeration.UserTypeEnum;

public interface ISecurityLoginProvider {
    /**
     * 检查是否可以登录
     */
    ResponseDTO<LoginFailEntity> checkLogin(Long userId, UserTypeEnum userType);

    /**
     * 登录失败后记录
     */
    String recordLoginFail(Long userId, UserTypeEnum userType, String loginName, LoginFailEntity loginFailEntity);

    /**
     * 清除登录失败
     */
    void removeLoginFail(Long userId, UserTypeEnum userType);
}
